GCP SSH로 파일 업로드와 다운로드하기

✒️ 2025-05-15 15:23 내용 수정



다른 터미널에서 SSH로 직접 연결하게 된 이유


작업 환경


SSH 키 생성 및 연결

  1. 터미널(VSC, IntelliJ, 기타 등)을 열고, cd 디렉터리주소를 사용하여 SSH 키를 저장할 디렉터리로 이동한다.
    • VSC나 IntelliJ 등과 같은 IDE에선 작업을 할 디렉터리를 선택해서 실행한다.
  2. 작업할 디렉터리에 .ssh 디렉터리를 생성해주고, cd .ssh로 이동한다.

gcpssh 4.png

  1. ssh-keygen -t rsa -f 파일이름 -C "이메일주소"를 입력한다.
    • 이메일 주소는 GCP를 사용하고 있는 계정의 이메일 주소다.
ssh-keygen -t rsa -f 파일이름(사용자이름으로) -C "GCP계정이메일주소"

gcpssh 5.png

파일 설명
id_rsa private 비밀키(로컬에서 저장)
id_rsa.pub public 공개키(서버로 전송)

gcpssh 6.png

  1. cat 인증키파일.pub을 입력해 SSH 키 값을 복사한다.
    • cat은 파일 내용물을 보여준다.

gcpssh 7.png

  1. GCP에서 Compute Engine에 들어가 메타 데이터로 들어간다.

gcpssh 8.png

  1. 메타 데이터 항목의 상단 탭에 수정을 누른다.

gcpssh 9.png

  1. 4번에서 복사한 SSH 키를 입력하고 저장을 누른다.

gcpssh 10.png

  1. SSH 연결을 확인하기 위해 다시 터미널로 돌아와서 ssh -i 인증키파일 사용자@VM외부IP를 입력한다.
    • 인증키 파일은 .pub 확장자가 아닌 파일이다.
    • 사용자는 VM 인스턴스의 사용자다.
    • VM 외부 IP는 VM 인스턴스의 외부 IP 항목에서 확인할 수 있다.

gcpssh 11.png


파일 다운로드(VM->로컬)

  1. SSH 연결을 한 상태로 테스트를 위해 임의로 touch test.txt를 입력하여 빈 파일을 생성한다.
    • 파일을 생성한 후 exit를 입력해 SSH 연결을 종료한다.

gcpssh 12.png

  1. scp -i 인증키파일 사용자@VM외부IP:디렉터리/test.txt를 입력해 파일을 다운 받는다.
    • 파일을 잘 받고 있다면 사진에서 녹색으로 표시된 부분처럼 진행도 표시가 뜬다.
    • SSH를 연결할 때 인증키 파일의 위치를 항상 잘 작성해야 한다.
scp -i 인증키파일 사용자@VM외부IP:VM에서받을파일
  1. ls나 파일 탐색기를 열어 현재 디렉터리에서 VM으로부터 받은 파일이 있는지 확인한다.

gcpssh 13.png


파일 업로드(로컬->VM)

  1. 파일 업로드 테스트용 파일을 생성한다.
    • 아까 VM으로부터 받은 파일을 구분을 위해서 수정만 해줬다.

gcpssh 14.png

  1. scp -i 인증키파일 보낼파일 사용자@VM외부IP:디렉터리로 파일을 전송한다.
scp -i 인증키파일 보낼파일 사용자@VM외부IP:파일도착위치

gcpssh 15.png

  1. SSH 연결(ssh -i 인증키파일 사용자@VM외부IP)을 한 후, 파일 도착 위치로 지정했던 디렉터리로 이동해 로컬에서 보낸 파일이 있는지 확인한다.
    • 사진에선 ls -lthra | grep test로 현재 디렉터리에 있는 모든 파일을 시간 순 정렬한 후 "test"를 포함하는 파일을 검색했다.
    • cat test_host.txt로 로컬에서 작성한 텍스트 파일의 내용을 확인하여 일치한 것을 확인하였다.

gcpssh 16.png